% Copyright © 2019-2024 Юдинцев В. В. 
\documentclass[12pt]{beamer} 

\usepackage{fontspec}
\setsansfont{PT Sans}
\setmonofont{PT Mono}

\usepackage{beamerthemesplit}
\usefonttheme[onlymath]{serif}

\usetheme{CambridgeUS}
\usecolortheme{lily}

\hypersetup{unicode=true}
\DeclareFontEncoding{T1}
\fontencoding{T1}
\usepackage[russian]{babel}

\usepackage{amsmath,amssymb,amsthm}
\usepackage{graphics,graphicx}
\usepackage{listings}
%\usepackage{media9}
\usepackage{fancyvrb}
\usepackage{booktabs} 
\usepackage{colortbl}
\usepackage{multirow} 
\usepackage{verbatim}
%\usepackage{fancyvrb} 
\usepackage{color}
\usepackage{qrcode}

\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue
\definecolor{mylilas}{RGB}{170,55,241}
\definecolor{codecolor}{RGB}{0,120,0}
\definecolor{light-gray}{gray}{0.8}
\definecolor{light-green}{RGB}{205,255,204}
\definecolor{light-red}{rgb}{0.9, 0.8, 0.8}
\definecolor{light-yellow}{rgb}{1,1,0.85}
\definecolor{light-blue}{RGB}{255,204,153}
\definecolor{dark-blue}{rgb}{0,0,0.6}
\definecolor{dark-red}{RGB}{204,0,0}
\definecolor{dark-green}{RGB}{28,172,0}

\usepackage{pifont}% http://ctan.org/pkg/pifont
\newcommand{\cmark}{\textcolor{green}{\ding{51}}}
\newcommand{\xmark}{\textcolor{red}{\ding{55}}}

\setbeamercolor{frametitle}{fg=dark-red,bg=gray!10}
\setbeamerfont{title}{series=\bfseries,parent=structure}
\setbeamerfont{frametitle}{series=\bfseries,parent=structure}
\setbeamertemplate{blocks}[rounded][shadow=false]
\setbeamercolor{block title}{fg=structure,bg=white}
\setbeamertemplate{navigation symbols}{}

\renewcommand{\emph}[1]{\textcolor{dark-blue}{#1}}
\newcommand{\emphb}[1]{\textcolor{dark-blue}{\textbf{#1}}}

\usepackage{tikz}
\usetikzlibrary{arrows,matrix,positioning,shapes,snakes}

%\warn{\matcode}[1]{ \textcolor{codecolor}{\texttt{#1}}}
%\newcommand{\matcode}[1]{\begin{Verbatim}[formatcom=\color{red}]#1\end{Verbatim}}
\definecolor{codecolor}{RGB}{0,150,0}
\newcommand{\matcode}[1]{ \textcolor{codecolor}{\texttt{#1}}}

\newcommand{\imgsrc}[1]{ 
\begin{tikzpicture}[remember picture,overlay]
  \node[anchor=north, rotate=90, inner sep=0.5pt] at (current page.west) {\fontsize{5}{6}\selectfont \textcolor{light-gray}{#1}};
\end{tikzpicture}  
}

\title{Введение в базы данных}
\subtitle{Базы данных}
\author{Юдинцев В. В.}
\institute[Кафедра ММЭ]{Кафедра математических методов в экономике}

%\pgfdeclareimage[height=1cm]{logo}{ssau.pdf}
%\logo{\pgfuseimage{logo}}
%\setbeameroption{show notes}
%\graphicspath{{img/}}

\lstset{language=python,  
    keepspaces=true,
    extendedchars=true,
    basicstyle={\footnotesize  \color{black}},
    breaklines=true,
    morekeywords={matlab2tikz},
    keywordstyle=\color{blue},
    morekeywords=[2]{1}, keywordstyle=[2]{\color{codecolor}},
    identifierstyle={ \bf \color{black} },
    stringstyle=\color{mylilas},
    commentstyle=\color{mygreen},%
    showstringspaces=false,
    numbers=left,%
    numberstyle={\tiny \color{black}},
    numbersep=7pt, 
    emph=[1]{case,switch,otherwise},emphstyle=[1]\color{blue}, 
    frame=single,    
    %lineskip=-1.0pt,
    %emph=[2]{word1,word2}, emphstyle=[2]{style},    
}

\makeatother
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%  
  \begin{beamercolorbox}[wd=.3\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortinstitute
  \end{beamercolorbox}%  
  \begin{beamercolorbox}[wd=.6\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.1\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
    \insertframenumber{} %/ \inserttotalframenumber\hspace*{1ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}

\setbeamertemplate{headline}{}
%\setbeamertemplate{footline}{} 

\AtBeginSection[]{
  \begin{frame}[plain]
  %\vfill  
  \begin{tikzpicture}
  \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);  
  \fill[color=dark-red]   (-1cm, 3.9cm) rectangle(\the\paperwidth, 5.9cm);
  %\usebeamerfont{title}\insertsectionhead\par%
  %\node[text width=\the\paperwidth,align=center] at (current page.center) {\color{ExecusharesWhite}\Large\textbf{\insertsectionhead}};  
  \node[text width=\the\paperwidth,align=center] at (6cm,4.9cm) {\color{white}\Large\textbf{\insertsectionhead}};  
  \end{tikzpicture}
  \end{frame}
}


%
%
% Документ
%
%
\begin{document}

{
\setbeamercolor{background canvas}{bg=white} 
\usebackgroundtemplate{\includegraphics[width=\paperwidth,height=\paperheight]{back.png}}
\begin{frame}[plain]
\maketitle
\end{frame}
}

\frame{
\frametitle{Содержание}
\tableofcontents
}

\section{Информационная система}


\begin{frame}[c]\frametitle{Задачи для первых компьютеров}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\textwidth]{Eniac.jpg}     
    \column{0.6\linewidth}
    Задачи для первый компьютеров были вычислительными. Это задачи первых потребителей: ВПК, "космос"
    \begin{itemize}
      \item Баллистические расчёты
      \item Моделирование ядерных взрывов
      \item Прогнозы погоды
    \end{itemize}
    \vspace{0.5cm} 
    Особенности 
    \begin{itemize}
      \item Сложные алгоритмы
      \item Простые по структуре данные
      \item Небольшой объём данных
    \end{itemize}
  \end{columns}
\end{frame} 

\begin{frame}
  \frametitle{Информационные системы}
  \begin{columns} 
    \column{0.4\linewidth}
    \includegraphics[width=0.9\linewidth]{bigstock-Archives-Paper-Documents.jpg}
    \column{0.6\linewidth}        
    \emph{Другие задачи}: хранение, обработка, анализ больших массивов данных корпораций, правительственных учреждений, архивов, библиотек.      
  \end{columns}
\end{frame}

\begin{frame}[c]\frametitle{Примеры информационных систем}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\textwidth]{catalog.jpg}      
    \column{0.6\linewidth}    
    \begin{itemize}
      \item учет персонала на предприятии
      \item учет отработанного времени работниками предприятия и расчета заработной платы
      \item учет продукции на складе
      \item учет книг в библиотеке
      \item бронирование билетов
    \end{itemize}
      \end{columns}
\end{frame} 
  
% \begin{frame}
%   \frametitle{ГОСТ Р 53622-2009}
%   \emphb{Информационно-вычислительная система (программно-технический комплекс)} -- cовокупность данных (\emph{баз данных}) и программ, функционирующих на вычислительных средствах как единое целое для решения определенных задач.  
% \end{frame}

\begin{frame} 
  \frametitle{Особенности информационных систем}
  \begin{itemize}
    \item Для обеспечения работы ИС нужны \emph{сравнительно низкие \emphb{вычислительные} мощности}
    \item \emph{Данные} имеют \emph{сложную} структуру
    \item Необходимы средства \emph{сохранения данных} между последовательными запусками системы
  \end{itemize}
\end{frame}


\begin{frame}
  \frametitle{ФЗ от 27 июля 2006 г. № 149-ФЗ}    
  Об информации, информационных технологиях и о защите информации \\
  \vspace{1cm}
  \emphb{Информационная система} -- совокупность содержащейся в \emph{базах данных} информации и обеспечивающих её обработку информационных технологий и технических средств.  
\end{frame}

\begin{frame}
  \frametitle{ГОСТ РВ 51987}    
  Информационная технология. Комплекс стандартов на автоматизированные системы типовые требования и показатели качества функционирования информационных систем. Общие положения \\
  \vspace{1cm}  
  \emphb{Информационная система} -- автоматизированная система результатом функционирования которой является представление выходной информации для последующего использования.    
\end{frame}

\begin{frame}
  \frametitle{ISO/IEC 2382-1}    
  \emphb{Информационная система} -- система обработки информации, работающая совместно с организационными ресурсами, такими как люди, технические средства и финансовые ресурсы, которые обеспечивают и распределяют информацию.  
\end{frame}


\begin{frame}[c]
  \frametitle{Модель внешнего мира}
  \begin{columns}
    \column{0.5\linewidth}
    \includegraphics[width=1\linewidth]{model.jpg}\\    
    \column{0.5\linewidth}
    \emphb{Информационная система} требует создания в памяти ЭВМ \emph{динамически обновляемой} \emphb{модели} \emph{внешнего мира} с использованием единого хранилища - \emph{базы данных}.    
  \end{columns}  
  \imgsrc{\url{https://studbooks.net/2024567/informatika}}  
\end{frame}

\begin{frame}
  \frametitle{Базы данных}
  \begin{columns}
    \column{0.5\linewidth}
    \includegraphics[width=1\linewidth]{Ramac-350.jpg}  \\
    IBM 350 Disk Storage Unit объемом 4,4 Мб (1956 год)  
    \column{0.5\linewidth}  
  Появление информационных систем было обусловлено развитием запоминающих устройств с возможностью доступа к произвольным участкам памяти — магнитных дисков.
\end{columns}
\end{frame}

\begin{frame}
  \frametitle{Состав информационной системы}
  \begin{itemize}
    \item База данных (БД)
    \item Программное обеспечение поддержки БД
    \item Аппаратное обеспечение
    \item Прикладное программное обеспечение 
    \item Персонал
  \end{itemize} 
\end{frame}


\section{Базы данных} 
 
\begin{frame}[c] 
  \frametitle{Определение}
  \emph{ГОСТ Р ИСО МЭК ТО 10032-2007. Эталонная модель управления данными} \\
  \vspace{1cm}
  Совокупность \emph{данных}, хранимых в соответствии со \emph{схемой данных}, манипулирование которыми выполняют в соответствии с \emph{правилами} средств моделирования данных
\end{frame}    
  
\begin{frame}[c]
  \frametitle{Определение}
  \emph{ISO/IEC 2382:2015. Информационные технологии} \\
  \vspace{1cm}
  Cовокупность \emph{данных}, организованных в соответствии с \emph{концептуальной структурой}, описывающей характеристики этих данных и взаимоотношения между ними, которая поддерживает одну или более \emph{областей применения}
\end{frame}    

\begin{frame}[c] 
  \frametitle{Определение}
  \emph{Когаловский М. Р. Энциклопедия технологий баз данных. - М.: Финансы и статистика, 2002.} \\
  \vspace{1cm}
  Организованная в соответствии с определёнными \emph{правилами} и поддерживаемая в памяти компьютера совокупность \emph{данных}, характеризующая актуальное состояние некоторой \emph{предметной области} и используемая для удовлетворения информационных потребностей пользователей
\end{frame}    

\begin{frame}[c]
\frametitle{База данных}
\begin{itemize}
  \item \emphb{База данных} представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. 
  \item \emphb{Предметная область} - часть реального мира, подлежащая изучению с целью организации управления и, в конечном счете, автоматизации. 
\end{itemize}
\end{frame}

\begin{frame}{c,fragile}
  \frametitle{Файловые БД}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\linewidth]{Библиотечная_карточка.jpg}
    \column{0.6\linewidth}
  \begin{itemize}
    \item В 70-х - 80-х годах на первых этапах развития  информационных систем данные хранились в обычных файлах (file-based system). 
    \item Программисты ориентировались на известные некомпьютерные способы представления информации  
  \end{itemize}    
\end{columns}
\end{frame} 
  
\begin{frame}
  \frametitle{Недостатки файловых БД}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\linewidth]{complex_structure.png}
    \column{0.6\linewidth}  
  \begin{itemize}
    \item \emph{Зависимость от данных} \\
    Изменение размера или состава полей структуры требует  переделки программы и создания программы для преобразования старых файлов с данными в новый формат
    \item \emph{Проблемы с разделением и изоляцией данных} \\
    Много файлов, которые могут хранится на разных компьютерах (в разных подразделениях). Сложно формировать запросы к данным в разных файлах
  \end{itemize}
\end{columns}
\end{frame}

\begin{frame}
  \frametitle{Недостатки файловых БД}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\linewidth]{complex_structure.png}
    \column{0.6\linewidth}  
  \begin{itemize}
    \item \emph{Избыточность данных} \\
    Данные в файлах могут повторяться, нет контроля согласованности данных 
    \item \emph{Несовместимость файлов} \\
    Способы физического хранения данных в файлах могут отличаться (зависят от архитектуры компьютера) 
    \item \emph{Разрастание количества приложений} \\
    Каждая отдельная задача может требовать разработки нового приложения
  \end{itemize}
\end{columns}
\end{frame}

\begin{frame}
  \frametitle{Пути устранения недостатков файловых БД}
  \begin{columns}
    \column{0.4\linewidth}
    \includegraphics[width=1\linewidth]{0tUPQ.png}
    \imgsrc{Изображение: https://ru.stackoverflow.com/questions/498660}
    \column{0.6\linewidth}  
  \begin{itemize}
    \item Отказ от хранения физической структуры данных в коде приложений
    \item Стандартизация способы описания и хранения данных
    \item Создание единого универсального языка для управления данными: вставка, редактирование, удаление и просмотр (язык SQL)
  \end{itemize}
\end{columns}
\end{frame}


\begin{frame}
\frametitle{СУБД}
\begin{itemize}
\item Для поддержания целостности данных, возможности одновременного доступа к данным большого количества пользователей с разграничением прав их доступа необходимо централизованное управление данными. 
\item Эти функции выполняют \emph{системы управления базами данных} (СУБД), которые предоставляют \emph{приложениям} услуги по обработке данных.  
\end{itemize}
\end{frame}

\section{СУБД}

\begin{frame}
  \frametitle{СУБД}
  \begin{itemize}
    \item \emphb{Система управления базами данных} (СУБД) -- это комплекс программных средств, с помощью которого можно создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ пользователей.
    \item \emphb{СУБД} -- это сложный вид программного обеспечения. На современном рынке программного обеспечения конкурирует около десятки коммерческих СУБД.   
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Функции СУБД}
  \begin{itemize}
    \item Доступность данных
    \item Метаописание данных (описание структуры данных)
    \item Управление параллельностью
    \item Обработка данных в рамках транзакции
    \item Обеспечение целостности данных
    \item Восстановление данных
    \item Обмен данными
    \item Контроль за доступом к данным
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Структура СУБД}
  \centering{\includegraphics[width=0.8\linewidth]{Структура_СУБД.png}}
  \imgsrc{Структура по: Осипов Д. Л. Технологии проектирования баз данных. -- М.: ДМК Пресс, 2019.}
\end{frame}

\begin{frame}
  \frametitle{Потребители услуг СУБД}
  \begin{itemize}
    \item \emph{Администраторы} базы данных \\
    отвечают за планирование и физическую реализацию проекта, поддерживает жизнедеятельность СУБД (безопасность, целостность, производительность)
    \item \emph{Программисты} \\
    разрабатывают клиентские приложения и отчёты
    \item \emph{Конечные пользователи} приложений для доступа к данным
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Процессор запросов и конроль прав}
  \begin{itemize}        
    \item Основным средством общения между людьми, приложениями и базой данных выступает структурированный язык запросов SQL. 
    \item Средства проектирования БД, ПО и клиентские приложения БД отправляют в адрес СУБД инструкции на языке SQL. 
    \item SQL команды поступают на процессор запросов, который преобразует их в набор низкоуровневых команд, понятных ядру СУБД
    \item Модуль контроля доступа разрешает работать с БД только авторизованным пользователям
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Процессор команд}
  \begin{itemize}    
    \item \emph{Процессор} выполняет команды с учетом требований к целостности данных. 
    \item \emph{Оптимизатор} определяет наиболее эффективный способ выполнения поступивших команд    
    \item \emph{Система управления транзакциями} отвечает за \alert{полное} и корректное выполнение блока команд и совместно с планировщиком заданий обеспечивает параллельную многопользовательскую обработку данных 
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Системный каталог} 
  Системный каталог содержит: 
  \begin{itemize}
    \item описание поддерживаемых типов данных (строки, числа, даты, ...)
    \item описание развернутых БД (схемы данных) и входящих в них объектов (домены, таблицы, представления и т. д.)
    \item сведения об ограничениях целостности
    \item имена и права пользователей, имеющих доступ к данным
    \item разнообразная статистическая информация
  \end{itemize}
\end{frame}


\begin{frame}
  \frametitle{Программное обеспечение СУБД}
  Однопользовательские системы:  
  \begin{itemize}
    \item Microsoft Access 
    \item SQLite
  \end{itemize}
Многопользовательские реляционные СУБД: 
\begin{itemize}
  \item Oracle 
  \item SQL Server (Microsoft) 
  \item InterBase, Firebird
  \item MySQL 
  \item PostgreSQL
  \item Informix
\end{itemize}
\end{frame}

\section{Архитектурные решения доступа к БД}

\begin{frame}
  \frametitle{Архитектурые решения доступа к БД}
  \begin{itemize}
    \item Файл-сервер
    \item Клиент-сервер
    \item Многоуровневыне системы
    \item Распределенные системы
  \end{itemize}
\end{frame}

\begin{frame}[c]
  \frametitle{Файл-сервер}
  \begin{columns}
    \column{0.4\linewidth}
      \includegraphics[width=1\linewidth]{файл-сервер.png}      
    \column{0.6\linewidth}
      \begin{itemize}
        \item Компьютеры (рабочие станции) объединялись в простейшие одноранговые локальные сети
        \item Один из компьютеров назначалася файл-сервером
        \item В общей папке на файл-сервере размещалась БД
        \item Рабочие станции перекачивали файлы БД в свою память, вносили правки и возвращали файлы
      \end{itemize}
  \end{columns}
  \imgsrc{Изображение: Осипов Д. Л. Технологии проектирования баз данных. -- М.: ДМК Пресс, 2019.}
\end{frame}


\begin{frame}[c]
  \frametitle{Клиент-сервер}
  \begin{columns}
    \column{0.4\linewidth}
      \includegraphics[width=1\linewidth]{client_server.png}      
    \column{0.6\linewidth}
      \begin{itemize}
        \item БД размещается на отдельном наиболее производительном компьютере
        \item На клиентских станциях устнавливается пользовательское ПО, настроенное на сетевой доступ к серверу СУБД
        \item Клиентский компьютер отправляет серверу запросы. 
        \item Получив и обработав запрос, сервер возвращает клиентскому компьютеру результат выполнения запроса        
      \end{itemize}
  \end{columns}
  \imgsrc{Изображение: Осипов Д. Л. Технологии проектирования баз данных. -- М.: ДМК Пресс, 2019.}  
\end{frame}

\begin{frame}[c]
  \frametitle{Преимущества архитектуры клиент-сервер}
  \begin{columns}
    \column{0.4\linewidth}
      \includegraphics[width=1\linewidth]{client_server.png}      
    \column{0.6\linewidth}    
      \begin{itemize}
        \item Доступность БД с разных платформ
        \item Выделенный сервер СУБД в состоянии обеспечить многопользовательскую обработку данных
        \item Упрощается обеспечение безпасности сервера, поддержка целостности данных, обслуживания и администрирования
        \item Экономно расходуется пропускная способность компьютерных сетей        
      \end{itemize}
  \end{columns}
  \imgsrc{Изображение: Осипов Д. Л. Технологии проектирования баз данных. -- М.: ДМК Пресс, 2019.}  
\end{frame}

\begin{frame}
  \frametitle{Многоуровневые системы}
  \begin{columns}
    \column{0.4\linewidth}
      \includegraphics[width=1\linewidth]{Трехуровневая.png}      
    \column{0.6\linewidth}    
    \begin{itemize}
      \item Сервер приложений отвечает за соблюдение бизнес-правил БД
      \item Клиент обращается не к СУБД напрямую, а запрашивает интересующий его сервис у сервера приложений
    \end{itemize}
  \end{columns}
\end{frame}

\begin{frame}
\frametitle{Распределённые БД}
\begin{columns}[c]
\column{0.6\textwidth}
\centering
\includegraphics[width=1.0\textwidth]{rasp_bd.png}
{\scriptsize Распределённая БД}
\column{0.4\textwidth}
\begin{itemize}
  \item \emphb{Централизованные} \\
  БД хранится на одном компьютере
  \item \emphb{Распределённые} \\
  БД хранится на нескольких компьютерах
\end{itemize}
\end{columns}
\end{frame}
  

\begin{frame}[c]
\frametitle{Распределенная БД и СУБД}
\begin{block}{\emphb{Распределённая БД}}  
Набор логически связанных между собой совокупностей разделяемых данных и их описаний, которые физически распределены в некоторой компьютерной сети
\end{block}
\begin{block}{\emphb{Распределённая СУБД}}  
Программный комплекс, предназначенный для управления распределёнными базами данных и обеспечивающий прозрачный доступ пользователей к распределённой информации
\end{block}
\end{frame}

% \begin{frame}[c]
% \frametitle{Трёхуровневая модель}
% \begin{itemize}
%   \item \emphb{Уровень внешних моделей} \\
%   Каждая модель имеет свое «видение» данных. Уровень определяет точку зрения на БД отдельных приложений.
%   \item \emphb{Концептуальный уровень} \\
%   отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных.
%   \item \emphb{Физический уровень} \\
%   Данные, расположенные в файлах или в страничных структурах на внешних носителях информации.   
% \end{itemize}
% \end{frame}



\section{Модели данных}

\begin{frame}
  \frametitle{Модели данных}
  \begin{itemize}
    \item Для адекватного \emph{отображения} в БД \emph{состояния объектов и их взаимосвязей} в рассматриваемой предметной области необходима модель данных -- модель объектов и их взаимосвязей.  
    \item Все модели данных делятся на три вида, используемые на трёх этапах проектирования:
    \begin{itemize}
      \item Инфологическая
      \item Даталогическая
      \item Физическая
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Инфологическая модель}
\begin{itemize}
  \item На первом этапе (после постановки задачи) исследуется предметная область, \emphb{выявляются объекты и процессы, которые нужно будет отобразить} в информационной системе при решении задач, для которых разрабатывается информационная система.
  \item На первом этапе строится \emphb{семантическая модель} предметной области. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных.   
  \item Наиболее распространённой инфологической моделью является \emphb{модель сущность-связь}.
\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Даталогическое проектирование}
\begin{itemize}
  \item \emphb{Даталогическое проектирование} -- создание схемы базы данных на основе конкретной модели данных, например, на основе реляционной модели данных.
\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Физическое проектирование}
\begin{itemize}
  \item \emphb{Физическое проектирование} -- создание схемы базы данных для конкретной системы управления баз данных.
  \item Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных. 
\end{itemize}
\end{frame}

\begin{frame}[c]
  \frametitle{Модели данных}
  \centering{\includegraphics[width=0.7\linewidth]{Модели_данных.png}}
\end{frame}

\begin{frame}[c]
\frametitle{Даталогические модели}
\emph{Логическую структуру} хранимых в базе \emph{данных} называют \emphb{моделью представления данных}. К основным моделям представления данных (моделям данных) относятся следующие:
\begin{itemize}
  \item \emph{иерархическая} 
  \item \emph{сетевая}
  \item \emph{реляционная} 
  \item постреляционная 
  \item многомерная 
  \item объектно-ориентированная
\end{itemize}
\end{frame}

\begin{frame}[c]
  \frametitle{Иерархическая модель}
  \centering{\includegraphics[width=0.7\textwidth]{Иерархическая_модель.png}}
\end{frame}

\begin{frame}[c]
  \frametitle{Иерархическая модель}
  Основные понятия \emph{иерархической модели}:
  \begin{itemize}  
    \item уровень 
    \item узел
    \item связь 
\end{itemize} 
\end{frame}

\begin{frame}[c]
\frametitle{Иерархическая модель}
\begin{itemize}
  \item Модель данных имеет \emph{древовидную структуру}
  \item Элементы расположены в порядке их подчинения от общего к частному
  \item На самом высшем уровне иерархии находится только одна вершина -- \emph{корень дерева}
  \item Корень дерева имеет связи с вершинами второго уровня
  \item Вершины второго уровня имеют связи с вершинами третьего уровня и т.д.
  \item \emph{Связи} между вершинами \emph{одного уровня отсутствуют}
\end{itemize} 
\end{frame}


  


\begin{frame}[c]
  \frametitle{Недостатки иерархической модели}
  \begin{itemize}
    \item Ограничения в организации отношений между сущностями (только "\emph{один ко многим}")    
    \item Структурная зависимость: иерархическая структура предполагает, что физически данные также станут храниться в виде дерева
    \item Разработчик программного обеспечения должен знать особенности физического хранения данных
    \item Отсутствие стандарта иерархической модели
  \end{itemize} 
  \end{frame}
  
\begin{frame}[c]
\frametitle{Сетевая модель}
\begin{itemize}
  \item Основные принципы модели были разработны в середине 60-х годов  
  \item Записи могут содержать явные ссылки на другие наборы записей -- любой элемент может быть связан с любым другим элементом
  \item Наборы записей образуют сеть  
  \item Связи явно присутствуют и хранятся в базе данных
\end{itemize}
\end{frame}

\begin{frame}[c]
\frametitle{Сетевая модель}
\centering{\includegraphics[width=0.7\textwidth]{Сетевая.png}}
\end{frame}

\begin{frame}[c]
  \frametitle{Недостатки сетевой модели}
  \begin{itemize}
  \item Большое количество произвольных связей повышает сложность схемы БД и как следствие вызывает дополнительные трудности при обеспечении целостности данных;
  \item Сложность разработки прикладного программного обеспечения.
\end{itemize}
\end{frame}

\begin{frame}[c]
\frametitle{Реляционная модель}
\begin{itemize}
  \item Концепция реляционной модели данных была предложена в 1969 году Эдгаром Коддом (E. F. Codd)
  \item В модели использует организацию данных в виде двумерных таблиц   
  \item Модель является фактическим стандартом, на который ориентируются практически все современные СУБД
\end{itemize}
\end{frame}
 
\begin{frame}[c]
  \frametitle{Таблицы}
  \begin{itemize}
    \item Все столбцы в таблице однородные: все элементы в одном столбце имеют
    одинаковый тип и максимально допустимый размер
    \item Каждый столбец имеет уникальное имя
    \item Одинаковые строки в таблице отсутствуют
    \item Порядок следования строк и столбцов в таблице не имеет значения    
  \end{itemize}
\end{frame}

\begin{frame}[c]
  \frametitle{Реляционная модель}
  \centering{\includegraphics[width=0.8\textwidth]{Реляционная_модель.png}}
\end{frame}

\frame[plain]{
\frametitle{Список использованных источников}
\small
\begin{itemize}
  \item Осипов Д. Л. Технологии проектирования баз данных. -- М.: ДМК Пресс, 2019.
  \item Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений / Под ред. npоф. А. Д. Хомоненко. -- 6-е изд., доп. - СПб.: КОРОНА-Век, 2009. -- 736 с.
  \item Зеленков Ю.А. Введение в базы данных. \\
  Центр Интернет ЯрГУ \\
  {\scriptsize \url{http://www.mstu.edu.ru/study/materials/zelenkov/toc.html}}  
\end{itemize}
}

\frame[plain,c]{
  \begin{center}
  \qrcode[height=1in]{https://classmech.ru/pages/databases/main}\\
  \vspace{2mm}
  {\tiny \url{https://classmech.ru/pages/databases/main} }
  \end{center}
}

\end{document}